Skip to main content

ClickHouse

Summary

This document covers the information to gather from ClickHouse in order to configure a Qarbine data service. You can define multiple data services that access the same ClickHouse endpoint though with varying credentials. Once a data service is defined, you can manage which Qarbine principals have access to it and its associated data. A Qarbine administrator has visibility to all data services.

ClickHouse Configuration

For Qarbine to interact with ClickHouse it requires the following:

  • network accessibility,
  • ClickHouse URL,
  • user name and
  • password.

Log into your ClickHouse account.

Select the service you want to connect to.

Click

  

Click

  

Copy the user name.

  

Paste it into a temporary location.

Copy the password.

  

Paste it into a temporary location.

Copy your highlighted text below.

  

This will be used as the Qarbine server template. Paste it into a temporary location.

If you want to only connect to a specific database you can see their names by clicking

  

and then clicking the drop down widget.

  

Write down any desired database name.

Qarbine Configuration

Compute Node Preparation

Determine which compute node service endpoint you want to run this data access from. That URL will go into the Data Service’s Compute URL field. Its form is “https://domain:port/dispatch”. A sample is shown below.

  

The port number corresponds to a named service endpoint configured on the given target host. For example, the primary compute node usually is set to have a ‘main’ service. That service’s configuration is defined in the ˜./qarbine.service/config/service.main.json file. Inside that file the following driver entry is required

"drivers" :[
. . .
"./driver/clickhouseDriver.js"
]

The relevant configuration file name for non primary (main) Qarbine compute nodes is service.NAME.json. Remember to have well formed JSON syntax or a startup error is likely to occur. If you end up adding that entry then restart the service via the general command line syntax

pm2 restart <service>

For example,

pm2 restart main

or simply

pm2 restart all

Data Service Definition

Open the Administration Tool.

Navigate to the Data Services tab.

  

A data service defines on what compute node a query will run by default along with the means to reach to target data. The latter includes which native driver to use along with settings corresponding to that driver. Multiple Data Sources can reference a single Data Service. The details of any one Data Service are thus maintained in one spot and not spread out all over the place in each Data Source. The latter is a maintenance and support nightmare.

To begin adding a data service click

  

On the right hand side enter a name and optionally a description.

  

Set the Compute URL field based on the identified compute node above. Its form is “https://domain:port/dispatch”. A sample is shown below.

  

Next, choose the “ClickHouse” driver.

  

The driver options values are a CSV list with quoted strings. For driver options see
https://clickhouse.com/docs/integrations/javascript#nodejs-specific-configuration-parameters

  

Set the server template to the host endpoint URL as shown below. Remember to add any ‘https://’ prefix.

  

The server template options values are a CSV list with quoted strings. For options see
https://clickhouse.com/docs/integrations/javascript#url-configuration

The server options provide your user, password and catalog information as shown below.

  

The server options values are a CSV list with any strings quoted. For server options see
https://clickhouse.com/docs/integrations/javascript#nodejs-specific-configuration-parameters

Optionally specify a database in the field as shown below.

  

Enable the data service for the desired general user group.

  

Test your settings by clicking on the toolbar image highlighted below.

  

The result should be similar to the following

  

Save the Data Service by clicking on the image highlighted below.

  

The data service will be known at the next log on time. Next, see the ClickHouse query interaction and any tutorial for information on interacting with ClickHouse from Qarbine.

Sample Data Sets

Sample datasets and tutorials can be found at https://clickhouse.com/docs/getting-started/example-datasets

They can be added by clicking

  

And